技術文章
技術問答
iT 徵才
聊天室
2026 鐵人賽
登入/註冊
文章
問答
Tag
邦友
鐵人賽
搜尋
2021 iThome 鐵人賽
DAY
20
0
Mobile Development
麻瓜學習 iOS 開發
系列 第
20
篇
Day20:SwiftUI—GeometryReader
13th鐵人賽
enolazxy
2021-10-05 23:52:05
1170 瀏覽
分享至
前言
本篇文章介紹 SwiftUI 的元件—GeometryReader。
實作
打開一個新專案
建立一個矩形:
這個矩形的位置是 hard code 出來的,
但我們的裝置很常不一樣,
所以我們需要一個相對的位置和框架大小。
加入 GeometryReader
這樣我們可以獲得整個屏幕的尺寸,
讓我們來相對的確定位置:
print 相應的 global 幾何坐標
print 相應的 local 幾何坐標
可以發現 global、local 數字不同。
因為 global 是指相對整個屏幕的坐標,
local 是指相對於其父級即這個 GeometryReader 的框架的坐標。
宣告兩個矩形
output 這兩個矩形的坐標:
會發現是相同的,
這是因為這兩個矩形都是相對同一個 GeometryReader 確定坐標的,
所以這個坐標是相對的而不是實際位置的坐標。
如果把這兩個矩形包在不同的 GeometryReader 裡:
則 output 出的坐標是不同的:
將多個元素直接放在 GeometryReader 是直接堆疊在一起的,類似 ZStack
創造重疊效果
刪除紅色矩形,並且修改兩個矩形長度:
添加 offset modifier:
出現重疊效果。
留言
追蹤
檢舉
上一篇
Day19:SwiftUI—Button
下一篇
Day21:開發自己的 APP 的前置步驟
系列文
麻瓜學習 iOS 開發
共
30
篇
目錄
RSS系列文
訂閱系列文
2
人訂閱
26
Day26:TabView
27
Day27:用 EnvironmentObject 傳遞數據
28
Day28:Update the Data and the Featured View
29
Day29: Picker controller
30
Day 30 : DetailView
完整目錄
熱門推薦
{{ item.subject }}
{{ item.channelVendor }}
|
{{ item.webinarstarted }}
|
{{ formatDate(item.duration) }}
直播中
立即報名
尚未有邦友留言
立即登入留言
iThome鐵人賽
參賽組數
902
組
團體組數
37
組
累計文章數
19838
篇
完賽人數
528
人
看影片追技術
看更多
{{ item.subject }}
{{ item.channelVendor }}
|
{{ formatDate(item.duration) }}
直播中
熱門tag
15th鐵人賽
16th鐵人賽
13th鐵人賽
14th鐵人賽
17th鐵人賽
12th鐵人賽
11th鐵人賽
鐵人賽
2019鐵人賽
javascript
2018鐵人賽
python
2017鐵人賽
windows
php
c#
linux
windows server
css
react
熱門問題
VM主機卡在Initializing storage stack
關於ASUS RS100-E11-PI2的磁碟陣列
趣味SQL,給了一組編號後,用SQL產生亂數編碼的結果(補上還要還原編號回來)
熱門回答
VM主機卡在Initializing storage stack
關於ASUS RS100-E11-PI2的磁碟陣列
趣味SQL,給了一組編號後,用SQL產生亂數編碼的結果(補上還要還原編號回來)
熱門文章
Mac 也能「分身術」!同時開啟多個 Claude Code 與 Claude Desktop 完整教學
公司導入 coding agent,真正該量的不是使用率
從注入攻擊到詐騙防護:@martin_yeung/llm-up-guardrail 為你的 AI 打造生產級安全防線
從企業導入 AI Agent 現況,到 AI 投資市場敘事的差異
停電不等於停工:備援機制為企業多份保證
IT邦幫忙
×
標記使用者
輸入對方的帳號或暱稱
Loading
找不到結果。
標記
{{ result.label }}
{{ result.account }}